Thông báo

Collapse
No announcement yet.

{help} Giúp em mạch đồng hồ thời gian thực 89S52 vs DS1307 với các bác ơi !

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    có nghĩa là bạn cho ds nó đọc bao nhiêu lần trong 1s. nếu đọc chậm quá nó sẽ chậm hơn,cái này mình cũng đã gặp 1 lần, nhưng chỉ cần sửa thời gian trễ là ok. mình hơi bận nên ko xem code của bạn được, bạn thông cảm
    1 s em cho đọc 2 lần , nhưng em mới chỉnh lại 1 s đọc 4 lần nhưng vẫn vậy bác àh rảnh bác giúp em với thật là em chịu rồi mới phải post lên đây nhờ các bác .

    Comment


    • #17
      bác có cái mô phỏng up lên cho em đc không

      Comment


      • #18
        ở bài đầu đấy bác Em up cả mà

        Comment


        • #19
          cậu ơi.mình mới học nên hơi gà.cái này cần những nguyên liệu gì??? .cứ lắp theo cái proteus là chạy thôi ak

          Comment


          • #20
            Nguyên văn bởi tranhungtn92 Xem bài viết
            cậu ơi.mình mới học nên hơi gà.cái này cần những nguyên liệu gì??? .cứ lắp theo cái proteus là chạy thôi ak
            Bác cần làm mạch àh Cần thì em share mạch nguyên lý với mạch in cho bác

            Comment


            • #21
              ôk.bác share cho em cái mạch nguyên lý với.nhìn proteus chịu không biết

              Comment


              • #22
                Đây này bác :
                file mạch.rar

                Bác mở bằng altium nhé em dùng bản 10.xxx nếu không có thì bác lấy file pdf ấy đi in cũng được


                P/S : quay lại vấn đề chính , bác nào biết lỗi ở đâu bảo em với .

                Comment


                • #23
                  sao em không mở đc nhỉ.e cần cái mạch nguyên lý đầy đủ linh kiện để e lắp ý mà.hi

                  Comment


                  • #24
                    bạn có altium không
                    có thì sao không mở được

                    Comment


                    • #25
                      cái này mình cũng đã từng gặp như bạn,mình dùng ngắt timer 1s cho vdk,sau đó so sanh với thời gian thực khi đồng hồ chạy thử khoảng vài giờ xem sao,sau đó sai số trong vài giờ đó bao nhiêu, bạn cứ chia tỉ lệ ra 1s sai số bao nhiêu us đó,rồi nạp lại giá trị THx,TLx tương ứng là được ak bạn

                      Comment


                      • #26
                        Nguyên văn bởi note Xem bài viết
                        cái này mình cũng đã từng gặp như bạn,mình dùng ngắt timer 1s cho vdk,sau đó so sanh với thời gian thực khi đồng hồ chạy thử khoảng vài giờ xem sao,sau đó sai số trong vài giờ đó bao nhiêu, bạn cứ chia tỉ lệ ra 1s sai số bao nhiêu us đó,rồi nạp lại giá trị THx,TLx tương ứng là được ak bạn
                        nghĩa là sao bác . Giải thích rõ hộ em cái . Cái giá trị THx và TLx khi chạy đúng bằng giá trị THx và TLx mà lúc đầu mình nạp trước cộng với sai số hả bác . vd 1s sai số là 100us thì giá trị nạp vào là 1000us+100us àh bác
                        Last edited by kakarotsan12; 11-08-2012, 23:03.

                        Comment


                        • #27
                          Bác note giải thích hộ em cái . em làm mà không thấy kết quả , hay em hiểu sai ý bác

                          bác cho em cái code of bác đươc k ?
                          Last edited by kakarotsan12; 12-08-2012, 00:10.

                          Comment


                          • #28
                            ví dụ thế này nhé: lúc đầu bạn nạp (-50000) cho TH0 và TL0,và nạp cho R1=20,bạn DJNZ R1mỗi lần DJNZ thì cờ TF0 báo tràn một lần 1 lần,vậy theo lí thuyết thì sau khi DJNZ R1 về 0 mất khoảng 1s delay, (có sai số vài chục us do lệnh DJNZ và thạch anh),sau đó bạn cho chạy so sánh với thời gian thực khoảng 1h đi,giả sử code của bạn trẽ mất 5s => 1s bạn trễ mất 5/(3600)x10^6 us = 1388us ,vậy mỗi lần DJNZ bạn trễ mất 1388/20=70us,vậy mình cần nạp lại cho TH0,TL0 là (-50000+70)=(-49930)us. bạn cần đẻ cho mạch chạy khoảng vài h để cho chính xác hơn và làm mạch thật luôn vì mô phỏng thường khac với làm thật lắm

                            Comment


                            • #29
                              làm mạch này lúc đó mình ko dùng DS1307,mình chỉ dùng ngắt của 8051 thôi bạn

                              Comment


                              • #30
                                Nguyên văn bởi note Xem bài viết
                                ví dụ thế này nhé: lúc đầu bạn nạp (-50000) cho TH0 và TL0,và nạp cho R1=20,bạn DJNZ R1mỗi lần DJNZ thì cờ TF0 báo tràn một lần 1 lần,vậy theo lí thuyết thì sau khi DJNZ R1 về 0 mất khoảng 1s delay, (có sai số vài chục us do lệnh DJNZ và thạch anh),sau đó bạn cho chạy so sánh với thời gian thực khoảng 1h đi,giả sử code của bạn trẽ mất 5s => 1s bạn trễ mất 5/(3600)x10^6 us = 1388us ,vậy mỗi lần DJNZ bạn trễ mất 1388/20=70us,vậy mình cần nạp lại cho TH0,TL0 là (-50000+70)=(-49930)us. bạn cần đẻ cho mạch chạy khoảng vài h để cho chính xác hơn và làm mạch thật luôn vì mô phỏng thường khac với làm thật lắm
                                mạch loại của bạn dùng có tính toán thế nào thì mỗi ngày nó cũng sẽ chạy sai vài giây.
                                Vấn đề chủ thớt chỉ là thời gian mô phỏng chạy ko khớp với thì gian thực, đó chỉ là đặt trưng của mô phỏng thôi vì thời gian của nó là nó chạy theo đặt tính mạch đang mô phỏng, bạn phải so sánh với time line của proteus mới chính xác.

                                Comment

                                Về tác giả

                                Collapse

                                kakarotsan12 Tìm hiểu thêm về kakarotsan12

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X